/**
 * 合同管理模块
 */
import { get, post } from './http'

// 合同列表参数
interface ContractList{
  ContractType?: string,
  ContractStatus?: string,
  ProductId?: number,
  ModifyStartTime?: string,
  ModifyEndTime?: string,
  SellerId?: string,
  Keyword?: string,
  CurrentIndex?: number,
  PageSize?:number
}

// 合同  新增/编辑/预览 参数
interface ContractParams{
  ContractType: string,
  StartDate: string,
  EndDate: string,
  OriginalPrice: number,
  Price: number,
  PayRemark: string,
  CompanyName: string,
  CreditCode: string,
  Province: string,
  City: string,
  Address: string,
  Fax: string,
  Phone: string,
  Postcode: string,
  Remark: string,
  TemplateId:number,
  Service: any,
  IsAudit:boolean
}

/**
 * 合同列表
 * @param ContractType {string} 合同类型，枚举值：’新签合同’,’续约合同’,’补充协议’
 * @param ContractStatus {string} 合同状态，枚举值：’待提交’,’待审批’,’已撤回’,’已审批’,’已驳回’,’已作废’
 * @param ProductId {number} 客户类型：传0或者不传为当前账号权限,1 代表是：ficc；2 代表是：权益
 * @param ModifyStartTime {string} 服务更新时间的选择开始时间，格式：2021-05-23 00:00:00
 * @param ModifyEndTime {string} 服务更新时间的选择结束时间，格式：2021-05-26 23:59:59
 * @param SellerId {number} 选择的销售id
 * @param Keyword {string} 搜索关键字
 * @param CurrentIndex {number} 当前页码
 * @param PageSize {number} 每页数据条数 
 */
export const apiContractList = (params:ContractList) => {
  return get('/contract/list',params)
}

/**
 * 合同详情
 * @param ContractId {number} 合同id
 */
export const apiContractDetail = (params: { ContractId: number }) => {
  return get('/contract/detail',params)
}

/**
 * 合同操作记录
 * @param ContractId {number} 合同id
 */
export const apiContractOperationList = (params: { ContractId: number }) => {
  return get('/contract/operation/list',params)
}

/**
 * 合同服务套餐数据
 * @param ProductId(可选) 传0或者不传为当前账号权限,1 代表是：ficc；2 代表是：权益
 */
export const apiContractServiceTemplate = (params: { ProductId?: number }) => {
  return get('/contract/service/template/list',params)
}

/**
 * 合同预览
 * @param ContractType 合同类型，枚举值：'新签合同','续约合同','补充协议'
 * @param StartDate 合同开始日期
 * @param EndDate 合同结束日期
 * @param OriginalPrice 合同原金额
 * @param Price 优惠前的金额
 * @param PayRemark 付款方式说明
 * @param CompanyName 客户名称，甲方名称
 * @param CreditCode 社会统一信用代码
 * @param Province
 * @param City
 * @param Address
 * @param Fax 传真
 * @param Phone
 * @param Postcode 邮编
 * @param Remark 补充内容
 * @param TemplateId 合同模板id ficc销售 1  权益销售 2
 * @param Service 服务套餐内容
 * @param IsAudit 是否发起审核
 */
export const apiContractPreView = (params: ContractParams) => {
  return post('/contract/preview',params)
}

/**
 * 新增合同/存草稿
 */
export const apiContractAdd = (params: ContractParams) => {
  return post('/contract/add',params)
}